/**
  *******************************************************************************
  * @author   正点原子@ALIENTEK
  *           技术论坛 {@link www.openedv.com}
  *
  * @file     alientek_usart.c
  * @brief    USART1 init. To use this file, you need:
  *           1. add stm32f1xx_hal_uart.c and stm32f1xx_hal_uart.h in directory Drivers/STM32F1XX_HAL_Driver
  *           2. Enable HAL_UART_MODULE_ENABLED in file {@link Core/Inc/stm32f1xx_hal_conf.h}
  *
  * @note     Stm32_Clock_Init(u32 PLL): System Clock Init.
  *
  *******************************************************************************
  * Change Logs:
  *   Date           Author       Notes
  *   2010-01-01     ALIENTEK     the first version
  *                  v1.3         支持适应不同频率下的串口波特率设置.
  *                               加入了对printf的支持
  *                               增加了串口接收命令功能.
  *                               修正了printf第一个字符丢失的bug
  *                  v1.4         修改串口初始化IO的bug
  *                               修改了USART_RX_STA,使得串口最大接收字节数为2的14次方
  *                               增加了USART_REC_LEN,用于定义串口最大允许接收的字节数(不大于2的14次方)
  *                               修改了EN_USART1_RX的使能方式
  *   2012-08-18     v1.5         增加了对UCOSII的支持
  *******************************************************************************
  * @attention
  *
  *  本程序只供学习使用，未经作者许可，不得用于其它任何用途
  *  版权所有，盗版必究。
  *  Copyright (c) 广州市星翼电子科技有限公司 2009-2023
  *  All rights reserved.
  *******************************************************************************
  */

#ifndef __USART_H
#define __USART_H

#include "stdio.h"
#include "alientek_sys.h"

#define USART_REC_LEN 200               // 定义最大接收字节数 200
#define EN_USART1_RX  1                 // 使能（1）/禁止（0）串口1接收

extern u8 USART_RX_BUF[USART_REC_LEN];  // 接收缓冲,最大USART_REC_LEN个字节.末字节为换行符
extern u16 USART_RX_STA;                // 接收状态标记
extern UART_HandleTypeDef UART1_Handler;// UART句柄

#define RXBUFFERSIZE   1                // 缓存大小
extern u8 aRxBuffer[RXBUFFERSIZE];      // HAL 库 USART 接收 Buffer

// 如果想串口中断接收，请不要注释以下宏定义
void uart_init(u32 bound);

#endif


